package vista;
import java.awt.BorderLayout;
import java.awt.event.ActionListener;

import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTextField;

import javax.swing.WindowConstants;
import javax.swing.border.BevelBorder;
import javax.swing.border.LineBorder;
import javax.swing.SwingUtilities;


/**
* This code was edited or generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit www.cloudgarden.com for details.
* Use of Jigloo implies acceptance of these licensing terms.
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
*/
public class VentanaOperaciones extends javax.swing.JFrame {
	private JPanel panContenedor;
	private JLabel lblSeleccione;
	private JLabel lblTitulo;
	private JLabel lblAnno;
	private JLabel lblDatos;
	private JButton btnGuardar;
	private JTextField txtAnno;
	private JLabel lblTituloAgregar;
	private JTextField txtMarca;
	private JLabel lblMarca;
	private JPanel panAgregaVehiculo;
	private JRadioButton rdbRetirarVehiculo;
	private JRadioButton rdbAgregarVehiculo;
	private JPanel panDatos;

	/**
	* Auto-generated main method to display this JFrame
	*/
	public static void main(String[] args) {
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				VentanaOperaciones inst = new VentanaOperaciones();
				inst.setLocationRelativeTo(null);
				inst.setVisible(true);
			}
		});
	}
	
	public VentanaOperaciones() {
		super();
		initGUI();
	}
	
	private void initGUI() {
		try {
			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
			{
				panContenedor = new JPanel();
				getContentPane().add(panContenedor, BorderLayout.CENTER);
				panContenedor.setLayout(null);
				{
					lblTitulo = new JLabel();
					panContenedor.add(lblTitulo);
					lblTitulo.setText("Estacionamiento");
					lblTitulo.setBounds(160, 12, 198, 15);
					lblTitulo.setFont(new java.awt.Font("Dialog",1,18));
				}
				{
					panDatos = new JPanel();
					panContenedor.add(panDatos);
					panDatos.setBounds(72, 107, 337, 207);
					panDatos.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
					panDatos.setLayout(null);
					{
						lblSeleccione = new JLabel();
						panContenedor.add(lblSeleccione);
						lblSeleccione.setText("Seleccione una opción:");
						lblSeleccione.setBounds(12, 39, 176, 15);
						lblSeleccione.setFont(new java.awt.Font("Dialog",1,12));
					}
					{
						// Creamos un ButtonGroup para luego agregar
						// los JRadioButton que creemos y asi sean
						// dependientes y crear una seleccion simple
						ButtonGroup bgrOpciones = new ButtonGroup();
					
						rdbAgregarVehiculo = new JRadioButton();
						panContenedor.add(rdbAgregarVehiculo);
						rdbAgregarVehiculo.setText("Agregar Vehiculo al Estacionamiento");
						rdbAgregarVehiculo.setBounds(41, 59, 292, 19);
						// Agregamos el JRadioButton al ButtonGroup					
						bgrOpciones.add(rdbAgregarVehiculo);
			
						rdbRetirarVehiculo = new JRadioButton();
						panContenedor.add(rdbRetirarVehiculo);
						rdbRetirarVehiculo.setText("Retirar  un Vehiculo del Estacionamiento");
						rdbRetirarVehiculo.setBounds(41, 80, 308, 19);
						// Agregamos el JRadioButton al ButtonGroup					
						bgrOpciones.add(rdbRetirarVehiculo);
					}
					{
						panAgregaVehiculo = new JPanel();
						panDatos.add(panAgregaVehiculo);
						panAgregaVehiculo.setBounds(25, 39, 287, 141);
						panAgregaVehiculo.setBorder(new LineBorder(new java.awt.Color(0,0,0), 1, false));
						panAgregaVehiculo.setLayout(null);
						panAgregaVehiculo.setVisible(false);						
						{
							lblTituloAgregar = new JLabel();
							panAgregaVehiculo.add(lblTituloAgregar);
							lblTituloAgregar.setText("Datos del Vehiculo:");
							lblTituloAgregar.setBounds(13, 10, 194, 15);
							lblTituloAgregar.setFont(new java.awt.Font("Dialog",1,12));
						}
						{
							lblMarca = new JLabel();
							panAgregaVehiculo.add(lblMarca);
							lblMarca.setText("Marca:");
							lblMarca.setBounds(13, 41, 54, 16);
						}
						{
							txtMarca = new JTextField();
							panAgregaVehiculo.add(txtMarca);
							txtMarca.setBounds(67, 39, 122, 22);
						}
						{
							lblAnno = new JLabel();
							panAgregaVehiculo.add(lblAnno);
							lblAnno.setText("Año:");
							lblAnno.setBounds(13, 69, 48, 15);
						}
						{
							txtAnno = new JTextField();
							panAgregaVehiculo.add(txtAnno);
							txtAnno.setBounds(67, 66, 46, 22);
						}
						{
							btnGuardar = new JButton();
							panAgregaVehiculo.add(btnGuardar);
							btnGuardar.setText("Agregar");
							btnGuardar.setBounds(100, 105, 95, 22);
						}
					}
					{
						lblDatos = new JLabel();
						panDatos.add(lblDatos);
						lblDatos.setBounds(11, 13, 299, 15);
					}
				}

			}
			pack();
			this.setSize(496, 366);
		} catch (Exception e) {
		    //add your error handling code here
			e.printStackTrace();
		}
	}
	
	public void agregarListener(ActionListener actionListener) {
	     // Agregamos un Listener a los JRadioButton
		 // encargados de estar pendiente de un evento
		 // sobre el JRadioButton (Click)
		 rdbAgregarVehiculo.addActionListener(actionListener);
		 rdbRetirarVehiculo.addActionListener(actionListener);
		// Agregamos un Listener al JButton
		 // encargado de estar pendiente de un evento
		 // sobre el JRadioButton (Click)
		 btnGuardar.addActionListener(actionListener);
	}
	
	public String getOpcionSeleccionada() {
		if (rdbAgregarVehiculo.isSelected())
			return rdbAgregarVehiculo.getText();
		else if (rdbRetirarVehiculo.isSelected())
		   return rdbRetirarVehiculo.getText();
		else
			return "";		
	}
	
	public void mostrarMensaje(String mensaje) {
		JOptionPane.showMessageDialog(this, mensaje);
	}

	// Metodo para ocultar o mostrar los datos para Agregar un Vehiculo	
	public void setVisiblePanelDatosVehiculo(boolean valor){
		panAgregaVehiculo.setVisible(valor);
	}

	// Metodo para colocar una cadena de caracteres en la etiqueta lblDatos
	public void mostrarDatos(String datos) {
		lblDatos.setText(datos);		
	}

	//Metodo para colocar como seleccionado la Opcion Agregar Vehiculo 
    public void seleccionarOpcionAgregarVehiculo(){
    	rdbAgregarVehiculo.setSelected(true);
    }
		
	public String getMarca() {
		return txtMarca.getText();
	}


	public String getAnno() {
		return txtAnno.getText();
	}
	
	public void blanquearCampos() {
		txtMarca.setText("");
		txtAnno.setText("");
	}	
}
